﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using RESTServices.Dominio;
using RESTServices.Persistencia;
using System.ServiceModel.Web;
using System.Net;
using WCFOrganizacion;

namespace RESTServices
{
    public class GRUnidadOrganizacionales : IGRUnidadOrganizacionales
    {

        private GRUnidadOrganizacionalDAO dao = new GRUnidadOrganizacionalDAO();

        public GRUnidadOrganizacional CrearUnidadOrganizacional(GRUnidadOrganizacional UnidadOrganizacionalACrear)
        {
           
            
            if (int.Parse("1").Equals(UnidadOrganizacionalACrear.iCodUOr))
            {
                throw new WebFaultException<string>(
                    "Unidad Organizacional imposible", HttpStatusCode.InternalServerError);
            }
            return dao.Crear(UnidadOrganizacionalACrear);
        }

        public GRUnidadOrganizacional ObtenerUnidadOrganizacional(string iCodUOr)
        {
            return dao.Obtener(int.Parse(iCodUOr));
        }

        public GRUnidadOrganizacional ModificarUnidadOrganizacional(GRUnidadOrganizacional UnidadOrganizacionalAModificar)
        {
            return dao.Modificar(UnidadOrganizacionalAModificar);
        }

        public void EliminarUnidadOrganizacional(int  iCodUOr)
        {
            dao.Eliminar(dao.Obtener(iCodUOr));
        }

        public List<GRUnidadOrganizacional> ListarUnidadOrganizacional()
        {
            return dao.ListarTodos();
        }

       
    }
}
